// Abacus
//
// Copyright 1995 Gary J Kacmarcik
// All Rights Reserved
//
// Modification History:
//  22 JUN 95  GJK  created at MacHack
//  24 JUN 95  GJK  finished 1st version


// package
Instance SoftwarePackage 'Abacus' 1;
         length: 32;
    dateCreated: 49891;
    timeCreated: 0xFFFFFFFF;
   dateModified: 49892;
   timeModified: 0x009D7EC0;
         author: (AddressCard 'Gary Kacmarcik' 2);
    installList: (ObjectList 'Install' 3);
      receivers: (ObjectList 'Receiver' 4);
   installFlags: nilObject;
installParameters: nilObject;
 installTargets: nilObject;
   autoActivate: true;
       citation: (Citation 5);						// unique ID for package
      publisher: (AddressCard 'Gary Kacmarcik' 2);
persistentShadowSize: 0;
persistentChangesSize: 0;
  transientSize: 0;
gotoActionSelector: 3.s;
         hidden: false;
   dontSaveData: false;
 copyOnActivate: false;
 dontDeactivate: false;
     needsReset: false;
systemPackageReserved6: false;
systemPackageReserved7: false;
systemPackageReserved8: false;
systemPackageReserved9: false;
systemPackageReserved10: false;
systemPackageReserved11: false;
systemPackageReserved12: false;
systemPackageReserved13: false;
systemPackageReserved14: false;
systemPackageReserved15: false;
systemPackageReserved16: false;
         entry1: nilObject;
         entry2: nilObject;
         entry3: nilObject;
         entry4: nilObject;
         entry5: nilObject;
         entry6: (ObjectList 'Standard Places' 6);
         entry7: nilObject;
         entry8: nilObject;
         entry9: (ObjectList 'Objects With Help' 7);
        entry10: (ObjectList 'Help On Objects' 8);
        entry11: nilObject;
        entry12: nilObject;
        entry13: {40,7}; // (Scene 'Hallway' 88)
        entry14: nilObject;
        entry15: {6,183}; // (Image 'turkey' 1004)
        entry16: nilObject;
        entry17: nilObject;
        entry18: nilObject;
        entry19: nilObject;
        entry20: nilObject;
        entry21: nilObject;
        entry22: nilObject;
        entry23: nilObject;
        entry24: nilObject;
        entry25: (Image 'AbacusBead' 9);
        entry26: (Abacus 'Abacus' 24);
        entry27: (ObjectList 'Text' 52);	// all our strings are here
        entry28: nilObject;
        entry29: nilObject;
        entry30: nilObject;
        entry31: nilObject;
        entry32: nilObject;
End Instance;


// scene
Instance Scene 'Abacus' 16;
           next: nilObject;
       previous: nilObject;
      superview: nilObject;
        subview: (Abacus 'Abacus' 24);
 relativeOrigin: <0.0,-8.0>;
    contentSize: <480.0,256.0>;
      viewFlags: 0x11005200;
     labelStyle: {60,1}; // (TextStyle 8734)
          color: 0xFF555555;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: nilObject;
     sceneFlags: 0;
  stepBackScene: nilObject;
   stepBackSpot: (Icon '8-ball' 14);
          image: nilObject;
      additions: nilObject;
         screen: nilObject;
End Instance;


// abacus
Instance Abacus 'Abacus' 24;
           next: (TextField 25);
       previous: nilObject;
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <-47.0,-2.0>;
    contentSize: <325.0,190.0>;
      viewFlags: 0x58085200;
     labelStyle: iBook12;
          color: 0xFFFFFFFF;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: iSendSound;
         border: (BorderImage 26);
           row0: 0.s;
           row1: 0.s;
           row2: 0.s;
           row3: 0.s;
           row4: 0.s;
           row5: 0.s;
           row6: 0.s;
           row7: 0.s;
           row8: 0.s;
           row9: 0.s;
          row10: 0.s;
          row11: 0.s;
          row12: 0.s;
          row13: 0.s;
          row14: 0.s;
          row15: 0.s;
         endian: 0.s;		// 1 = little, 0 = big-endian
           base: 0.s;		// 1 = decimal, 0 = hexadecimal
End Instance;


// ************
// text strings
// ************

Instance ObjectList 'Text' 52;
         length: 1;
          entry: (Text 53);
End Instance;

Instance Text 53;
           text: 'Sorry, only hexadecimal is supported in this version.';
End Instance;


// ********
// citation
// ********

// identifies package by name and version #
Instance Citation 5;
          title: (Identifier 'Abacus' 10);
         author: (Telename 11);
   majorEdition: 1;
   minorEdition: 0;
End Instance;

// unique entity name for TeleScript/MagicCap
// this is used by the citation
Instance Telename 11;
      authority: (OctetString 18);
       identity: (OctetString 19);
End Instance;

// telename:authority
// currently this is the authority for General Magic Developer Technical Support Sample Code
// this needs to be changed
Instance OctetString 18;
          extra: $ 00D4 4FD6 6F90 162E 2F49 8F0F 1F3A F30A CF;
End Instance;

// telename:identity
Instance OctetString 19;
          extra: $ 4162 6163 7573;
End Instance;

// citation: title
Instance Identifier 'Abacus' 10;
End Instance;


// ******
// images
// ******

// bead on abacus
Instance Image 'AbacusBead' 9;
           next: nilObject;
       previous: nilObject;
     imageFlags: 0;
      imageSize: 16,16;
     resolution: 256.s;
          depth: 2.s;
       centerPt: 8,8;
          crc32: 0x791AD23A;
          extra: $ 003F FC00 03EA ABC0 0EAA AAB0 3AAA 06AC 3AAA 90A8 EAAA AAAB EAAA AAAB EAAA AAAB \
                 $ EAAA AAAB EAAA AAAB FAAA AAAB 3AAA AAAC 3EAA AABC 0FAA AAB0 03FA AAC0 003F FC00;
End Instance;

// icon in DA drawer
Instance Icon '8-ball' 14;
           next: nilObject;
       previous: nilObject;
      superview: nilObject;
        subview: nilObject;
 relativeOrigin: <-8.0,-37.5>;
    contentSize: <37.0,37.0>;
      viewFlags: 0x50081200;
     labelStyle: iBook12Center;
          color: 0xFFFFFFFF;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: iTouchSound;
          image: iEightBallImage;
    destination: (Scene 'Abacus' 16);
nativeContainer: iGameRoomShelf;
 nativePosition: <-76.5,-26.5>;
End Instance;

// border image
Instance BorderImage 26;
           next: nilObject;
       previous: nilObject;
     imageFlags: 0x80800000;
      imageSize: 27,25;
     resolution: 256.s;
          depth: 2.s;
       centerPt: 13,12;
          crc32: 0x782143F8;
    contentRect: 5,5,22,20;
     repeatRect: 5,5,22,20;
          extra: $ FBFF 02FC 00C0 FC00 022C 00C5 FC55 026C 00C6 FDAA 03A9 6C00 C6FD FF04 FC6C 00C6 \
                 $ C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 \
                 $ C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 \
                 $ C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 \
                 $ C0FE 0004 0C6C 00C6 C0FE 0004 0C6C 00C6 C0FE 0003 0C6C 00C6 FDFF 03FC 6C00 C5FC \
                 $ 0002 6C00 C5FC 5502 6C00 EAFC AA01 AC00 FBFF 01FC 00;
End Instance;


// *************
// install lists
// *************

// list of objects to install in the system
Instance ObjectList 'Install' 3;
         length: 2;
         entry1: (Icon '8-ball' 14);
         entry2: (NameCard 'Gary Kacmarcik' 15);
End Instance;

// where to install the above objects
Instance ObjectList 'Receiver' 4;
         length: 2;
         entry1: iDeskAccessoryWindow;
         entry2: iNameCardsStack;
End Instance;

// list of scenes
Instance ObjectList 'Standard Places' 6;
         length: 1;
         entry1: (Scene 'Abacus' 16);
End Instance;


// ************
// help / about
// ************

// list of objects that need help
Instance ObjectList 'Objects With Help' 7;
         length: 1;
         entry1: (Scene 'Abacus' 16);
End Instance;

// how to provide help to the aforementioned objects
Instance ObjectList 'Help On Objects' 8;
         length: 1;
         entry1: (Text 17);
End Instance;

Instance Text 17;
           text: 'About Abacus\nAbacus 1.0 Gary J Kacmarcik';
End Instance;


// *************
// personal info
// *************

Instance NameCard 'Gary Kacmarcik' 15;
           next: nilObject;
       previous: nilObject;
      superview: nilObject;
        subview: nilObject;
 relativeOrigin: <-28.0,8.0>;
    contentSize: <392.0,229.0>;
      viewFlags: 0x50005200;
     labelStyle: iBook12;
          color: 0;
       altColor: 0;
         shadow: nilObject;
          sound: nilObject;
           form: iAddressesForm;
          stack: nilObject;
      cardFlags: 0x404000E7;
    addressCard: (AddressCard 'Gary Kacmarcik' 2);
        profile: nilObject;
End Instance;

Instance AddressCard 'Gary Kacmarcik' 2;
      addresses: (ObjectList 12);
   assignedName: nilObject;
       category: 2;
credentialsList: nilObject;
    displayView: nilObject;
   facilityList: nilObject;
     lastChange: nilObject;
      magicName: (MagicmailName 'Gary Kacmarcik' 13);
 nativeLanguage: nilObject;
       nickname: nilObject;
preferredPlatform: nilObject;
      lastLabel: nilObject;
          image: nilObject;
End Instance;

Instance NameKey 34;
       keyIndex: 1;
      keyLength: 17;
        keyType: 0;
End Instance;

Instance ObjectList 12;
         length: 2;
         entry1: (PostalLabel 'main office' 20);
         entry2: (InternetMailLabel 21);
End Instance;

// magic mail address

Instance MagicmailName 'Gary Kacmarcik' 13;
        keyList: (ObjectList 22);
       nameText: (Text 23);
End Instance;

Instance ObjectList 22;
         length: 1;
         entry1: (NameKey 34);
End Instance;

Instance Text 23;
           text: 'Gary Kacmarcik';
End Instance;

// internet address

Instance InternetMailLabel 21;
    description: (Text 27);
          image: {6,291}; // (Image 8442)
        privacy: nilObject;
    addressText: (Text 28);
End Instance;

Instance Text 27;
           text: 'Internet';
End Instance;

Instance Text 28;
           text: 'platypus@netcom.com';
End Instance;

// postal label

Instance PostalLabel 'main office' 20;
    description: iMainOfficeDescription;
          image: iHomeImage;
        privacy: nilObject;
           city: (Text 29);
    countryName: (Text 30);
        geoCode: nilObject;
       nameText: nilObject;
     postalCode: (Text 31);
   postalRegion: (Text 32);
  streetAddress: (Text 33);
End Instance;

Instance Text 33;
           text: '8500 148th Ave NE #G3024';
End Instance;

Instance Text 29;
           text: 'Redmond';
End Instance;

Instance Text 32;
           text: 'WA';
End Instance;

Instance Text 30;
           text: 'USA';
End Instance;

Instance Text 31;
           text: '98052';
End Instance;


// ***************
// abacus controls
// ***************

Instance TextField 25;
           next: (Switch 35);
       previous: (Abacus 'Abacus' 24);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <181.0,-82.0>;
    contentSize: <100.0,20.0>;
      viewFlags: 0x700B1200;
     labelStyle: {60,1}; // (TextStyle 8734)
          color: 0xFF000000;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: {120,36}; // (BorderImage 2879)
     fieldFlags: 0x81040011;
      dataStore: (Text 36);
      baseStyle: (TextStyle 41);
End Instance;

Instance Text 36;
           text: 'Bead Ordering';
End Instance;

Instance TextField 37;
           next: (Switch 38);
       previous: (Switch 35);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <181.0,16.0>;
    contentSize: <100.0,20.0>;
      viewFlags: 0x50001200;
     labelStyle: {60,1}; // (TextStyle 8734)
          color: 0xFF000000;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: {120,36}; // (BorderImage 2879)
     fieldFlags: 0x81040011;
      dataStore: (Text 39);
      baseStyle: (TextStyle 41);
End Instance;

Instance Text 39;
           text: 'Base';
End Instance;

Instance TextStyle 41;
          color: (Color 40);
     actualFont: {153,3}; // (BitmapFont 8749)
canvasResolution: 256,256;
  requestedFont: (FontDescription 43);
      alignment: 0.s;
        leading: 0.s;
         spread: 0.s;
     extraSpace: 0.s;
End Instance;

Instance Color 40;
            rgb: 0xFF555555;
End Instance;

Instance FontDescription 43;
 fontIdentifier: nilObject;
       fontName: (Text 44);
       fontSize: 10;
         isBold: false;
       isItalic: false;
   isUnderlined: false;
End Instance;

Instance Text 44;
           text: 'Fat Caps';
End Instance;


Instance TextField 42;
           next: (TextField 45);
       previous: (Switch 38);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <196.0,-25.5>;
    contentSize: <78.0,18.0>;
      viewFlags: 0x700B1200;
     labelStyle: {60,13}; // (TextStyle 8767)
          color: 0xFF000000;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: {35,5}; // (BorderLine 'Gray 1' 472)
     fieldFlags: 0x01040011;
      dataStore: (Text 46);
      baseStyle: {60,1}; // (TextStyle 8734)
End Instance;

Instance Text 46;
           text: 'Big Endian';
End Instance;

Instance TextField 45;
           next: (TextField 47);
       previous: (TextField 42);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <196.0,47.5>;
    contentSize: <78.0,18.0>;
      viewFlags: 0x700B1200;
     labelStyle: {60,13}; // (TextStyle 8767)
          color: 0xFF000000;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: {35,5}; // (BorderLine 'Gray 1' 472)
     fieldFlags: 0x01040011;
      dataStore: (Text 48);
      baseStyle: {60,1}; // (TextStyle 8734)
End Instance;

Instance Text 48;
           text: 'Decimal';
End Instance;

Instance TextField 47;
           next: (TextField 49);
       previous: (TextField 45);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <196.0,-51.5>;
    contentSize: <78.0,18.0>;
      viewFlags: 0x700B1200;
     labelStyle: {60,13}; // (TextStyle 8767)
          color: 0xFF000000;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: {35,5}; // (BorderLine 'Gray 1' 472)
     fieldFlags: 0x01040011;
      dataStore: (Text 50);
      baseStyle: {60,1}; // (TextStyle 8734)
End Instance;

Instance Text 50;
           text: 'Li\'l Endian';
End Instance;

Instance TextField 49;
           next: nilObject;
       previous: (TextField 47);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <196.0,72.5>;
    contentSize: <78.0,18.0>;
      viewFlags: 0x700B1200;
     labelStyle: {60,13}; // (TextStyle 8767)
          color: 0xFF000000;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: nilObject;
         border: {35,5}; // (BorderLine 'Gray 1' 472)
     fieldFlags: 0x01040011;
      dataStore: (Text 51);
      baseStyle: {60,1}; // (TextStyle 8734)
End Instance;

Instance Text 51;
           text: 'Hex';
End Instance;

// ********
// switches
// ********

// endian switch
Instance Switch 35;
           next: (TextField 37);
       previous: (TextField 25);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <142.0,-38.5>;
    contentSize: <26.0,50.0>;
      viewFlags: 0x50081200;
     labelStyle: {60,13}; // (TextStyle 8767)
          color: 0xFFFFFFFF;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: {33,15}; // (Sound 'Switch' 459)
         border: nilObject;
          image: {6,476}; // (Image 'upSw2' 2947)
      textStyle: nilObject;
   controlFlags: 0x14000000;
          level: 1.0;
            min: 0.0;
            max: 1.0;
         target: (Abacus 'Abacus' 24);
targetAttribute: operation_Endian;
End Instance;

Instance Switch 38;
           next: (TextField 42);
       previous: (TextField 37);
      superview: (Scene 'Abacus' 16);
        subview: nilObject;
 relativeOrigin: <142.0,60.5>;
    contentSize: <26.0,50.0>;
      viewFlags: 0x50081200;
     labelStyle: {60,13}; // (TextStyle 8767)
          color: 0xFFFFFFFF;
       altColor: 0xFF000000;
         shadow: nilObject;
          sound: {33,15}; // (Sound 'Switch' 459)
         border: nilObject;
          image: {6,476}; // (Image 'upSw2' 2947)
      textStyle: nilObject;
   controlFlags: 0x14000000;
          level: 1.0;
            min: 0.0;
            max: 1.0;
         target: (Abacus 'Abacus' 24);
targetAttribute: operation_Base;
End Instance;

